﻿'''
题目描述
给定一组整数（非负），重排顺序后输出一个最大的整数。
示例1
输入：[10,9]
输出：910
说明:输出结果可能非常大，所以你需要返回一个字符串而不是整数。
输入描述
数字组合
输出描述
最大的整数
示例1
输入
10 9
输出
910
说明
解题思路
题目要求是：给定一组非负整数，通过重新排列这些整数的顺序，拼接成一个最大的整数，并返回该结果。
由于输出的结果可能非常大，题目要求返回的结果是一个字符串，而不是整数类型。
原题
跟这道题一致：https://leetcode.cn/problems/largest-number/description/
'''
#需要使用functools的cmp_to_key
from functools import cmp_to_key
#自定义比较器，比较两个字符串拼接后顺序
def compare(a,b):   
    if a + b > b + a:   #9 10 > 10 9
        return -1
    elif a + b < b + a:
        return 1
    else:
        return 0

#读取输入
num_str = input().split()

#cmp_to_key可以应用到fun(arg1,arg2) 返回值为1，-1，0的比较器排序
num_str.sort(key= cmp_to_key(compare))

result = ''.join(num_str)
#注意去除前导0，如果全为0则赋值0
result = result.lstrip('0') or '0'
print(result)

